// import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
// import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
// import { z } from 'zod';
// import {
//   CallToolRequestSchema,
//   ListToolsRequestSchema,
// } from '@modelcontextprotocol/sdk/types.js';
// import { DesignCapture } from '../utils/design-capture';
// import { McpHttpServer } from './mcp-http';

// /**
//  * AI 编辑器 MCP 服务器
//  * 提供设计捕获、文件系统操作和编辑器集成功能
//  */
// export class McpClient {
//   public server: McpServer;

//   private httpServer: McpHttpServer;

//   private designCapture: DesignCapture;

//   constructor() {
//     this.server = new McpServer({
//       name: 'idoc-design-analysis-mcp',
//       version: '1.0.0',
//     });

//     // 初始化服务
//     this.designCapture = new DesignCapture();

//     this.httpServer = new McpHttpServer(this);

//     this.start();
//   }

//   /**
//    * 设置 MCP 处理器
//    */
//   private setupHandlers(): void {
//     this.server.tool(
//       'analysis_design_from_url',
//       'obtain the layout information about the entire idoc design from a webpage link',
//       {
//         fileKey: z
//           .string()
//           .describe(
//             'The key of the Figma file to fetch, often found in a provided URL like idoc.mucang.cn/app/<fileKey>'
//           ),
//       },
//       async () => {
//         return {
//           tools: [
//             {
//               name: 'analysis_design_from_url',
//               description: '解析 idoc 设计图网页链接并捕获设计图资源',
//               inputSchema: {
//                 type: 'object',
//                 properties: {
//                   url: {
//                     type: 'string',
//                     description: '设计图网页链接',
//                   },
//                   designId: {
//                     type: 'string',
//                     description: '保存的设计图ID',
//                   },
//                   captureOptions: {
//                     type: 'object',
//                     properties: {
//                       openBrowser: {
//                         type: 'boolean',
//                         description: '是否打开系统浏览器',
//                         default: true,
//                       },
//                       waitForRequest: {
//                         type: 'string',
//                         description: '等待的请求URL模式',
//                         default: '**/api/**',
//                       },
//                       timeout: {
//                         type: 'number',
//                         description: '超时时间（秒）',
//                         default: 30,
//                       },
//                     },
//                   },
//                 },
//                 required: ['url', 'designId'],
//               },
//             },
//           ],
//         };
//       }
//     );

//     // 工具调用处理
//     this.server.setRequestHandler(CallToolRequestSchema, async request => {
//       const { name, arguments: args } = request.params;

//       return await this.designCapture.captureFromUrl(
//         args.url as string,
//         args.designId as string,
//         args.captureOptions || {}
//       );
//     });
//   }

//   /**
//    * 启动 MCP 服务器
//    */
//   async start(): Promise<void> {
//     const transport = new StdioServerTransport();

//     await this.server.connect(transport);

//     this.setupHandlers();
//   }

//   /**
//    * 停止 MCP 服务器
//    */
//   async stop(): Promise<void> {
//     await this.server.close();
//   }
// }
